package com.x.Part8_arrayTools;

/**
 * ClassName: intArray
 * Package: IntelliJ IDEA
 * Description:
 * Written by HanXu
 * Create 2023/9/17 17:50
 */
public class intArray {

    /**
     * 获取最小值
     * @param arr 传入数组
     * @return 返回最小值
     */
    public int getMax(int[] arr){
        int max = arr[0];
        for(int i = 1; i < arr.length; i++){
            if(arr[i]>=max)
                max = arr[i];
        }
        return max;
    }

    public int getAvg(int[] arr){
        int sum = 0;
        for(int i = 0; i < arr.length; i++){
           sum += arr[0];
        }
        return  sum/arr.length;
    }

    public int getSum(int[] arr){
        return getAvg(arr) * arr.length;
    }

    public void print(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length - 1; i++){
            System.out.print(arr[i]+", ");
        }
        System.out.println(arr[arr.length - 1]+"]");
    }

    public int[] copy(int[] arr){
        int[] arrNew = new int[arr.length];
        for(int i = 0; i < arr.length; i++)
            arrNew[i] = arr[i];
        return arrNew;
    }

    /**
     *
     * @param arr 数组中查找
     * @param x 被查找元素
     * @return 首个元素下标
     */
    public int linearSearch(int[] arr, int x){
        for(int i = 0; i < arr.length; i++){
            if (arr[i] == x)
                return i;
        }
        return  -1;//代表没找到
    }

    /**
     * 数组反转
     * @param arr 被反转数组
     */
    public void reverse(int[] arr){
        for(int i = 0; i < arr.length/2; i++){
            int temp = arr[i];
            arr[i] = arr[arr.length - i -1];
            arr[arr.length - i -1] = temp;
        }

    }

    /**
     * 冒泡排序
     * @param arr 被排序数组
     */
    public void sort(int[] arr){
        //冒泡排序的时间复杂度为O(n*n)
        int temp = 0;//临时变量
        for (int j = 0; j < arr.length - 1; j++) {
            for (int i = 0; i < arr.length-1 -j ; i++) {
                if (arr[i] > arr[i+1]){
                    temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            }
        }
    }


}
